/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package EA_Model.IEC61970.LoadModel;

import EA_Model.IEC61970.Core.IdentifiedObject;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Load Response Characteristic</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getExponentModel <em>Exponent Model</em>}</li>
 *   <li>{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getPConstantCurrent <em>PConstant Current</em>}</li>
 *   <li>{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getPConstantImpedance <em>PConstant Impedance</em>}</li>
 *   <li>{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getPConstantPower <em>PConstant Power</em>}</li>
 *   <li>{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getPFrequencyExponent <em>PFrequency Exponent</em>}</li>
 *   <li>{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getPVoltageExponent <em>PVoltage Exponent</em>}</li>
 *   <li>{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getQConstantCurrent <em>QConstant Current</em>}</li>
 *   <li>{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getQConstantImpedance <em>QConstant Impedance</em>}</li>
 *   <li>{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getQConstantPower <em>QConstant Power</em>}</li>
 *   <li>{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getQFrequencyExponent <em>QFrequency Exponent</em>}</li>
 *   <li>{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getQVoltageExponent <em>QVoltage Exponent</em>}</li>
 * </ul>
 * </p>
 *
 * @see EA_Model.IEC61970.LoadModel.LoadModelPackage#getLoadResponseCharacteristic()
 * @model
 * @generated
 */
public interface LoadResponseCharacteristic extends IdentifiedObject {
	/**
	 * Returns the value of the '<em><b>Exponent Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Exponent Model</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Exponent Model</em>' reference.
	 * @see #setExponentModel(EA_Model.IEC61970.Domain.Boolean)
	 * @see EA_Model.IEC61970.LoadModel.LoadModelPackage#getLoadResponseCharacteristic_ExponentModel()
	 * @model ordered="false"
	 * @generated
	 */
	EA_Model.IEC61970.Domain.Boolean getExponentModel();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getExponentModel <em>Exponent Model</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Exponent Model</em>' reference.
	 * @see #getExponentModel()
	 * @generated
	 */
	void setExponentModel(EA_Model.IEC61970.Domain.Boolean value);

	/**
	 * Returns the value of the '<em><b>PConstant Current</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>PConstant Current</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>PConstant Current</em>' reference.
	 * @see #setPConstantCurrent(EA_Model.IEC61970.Domain.Float)
	 * @see EA_Model.IEC61970.LoadModel.LoadModelPackage#getLoadResponseCharacteristic_PConstantCurrent()
	 * @model ordered="false"
	 * @generated
	 */
	EA_Model.IEC61970.Domain.Float getPConstantCurrent();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getPConstantCurrent <em>PConstant Current</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>PConstant Current</em>' reference.
	 * @see #getPConstantCurrent()
	 * @generated
	 */
	void setPConstantCurrent(EA_Model.IEC61970.Domain.Float value);

	/**
	 * Returns the value of the '<em><b>PConstant Impedance</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>PConstant Impedance</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>PConstant Impedance</em>' reference.
	 * @see #setPConstantImpedance(EA_Model.IEC61970.Domain.Float)
	 * @see EA_Model.IEC61970.LoadModel.LoadModelPackage#getLoadResponseCharacteristic_PConstantImpedance()
	 * @model ordered="false"
	 * @generated
	 */
	EA_Model.IEC61970.Domain.Float getPConstantImpedance();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getPConstantImpedance <em>PConstant Impedance</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>PConstant Impedance</em>' reference.
	 * @see #getPConstantImpedance()
	 * @generated
	 */
	void setPConstantImpedance(EA_Model.IEC61970.Domain.Float value);

	/**
	 * Returns the value of the '<em><b>PConstant Power</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>PConstant Power</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>PConstant Power</em>' reference.
	 * @see #setPConstantPower(EA_Model.IEC61970.Domain.Float)
	 * @see EA_Model.IEC61970.LoadModel.LoadModelPackage#getLoadResponseCharacteristic_PConstantPower()
	 * @model ordered="false"
	 * @generated
	 */
	EA_Model.IEC61970.Domain.Float getPConstantPower();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getPConstantPower <em>PConstant Power</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>PConstant Power</em>' reference.
	 * @see #getPConstantPower()
	 * @generated
	 */
	void setPConstantPower(EA_Model.IEC61970.Domain.Float value);

	/**
	 * Returns the value of the '<em><b>PFrequency Exponent</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>PFrequency Exponent</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>PFrequency Exponent</em>' reference.
	 * @see #setPFrequencyExponent(EA_Model.IEC61970.Domain.Float)
	 * @see EA_Model.IEC61970.LoadModel.LoadModelPackage#getLoadResponseCharacteristic_PFrequencyExponent()
	 * @model ordered="false"
	 * @generated
	 */
	EA_Model.IEC61970.Domain.Float getPFrequencyExponent();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getPFrequencyExponent <em>PFrequency Exponent</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>PFrequency Exponent</em>' reference.
	 * @see #getPFrequencyExponent()
	 * @generated
	 */
	void setPFrequencyExponent(EA_Model.IEC61970.Domain.Float value);

	/**
	 * Returns the value of the '<em><b>PVoltage Exponent</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>PVoltage Exponent</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>PVoltage Exponent</em>' reference.
	 * @see #setPVoltageExponent(EA_Model.IEC61970.Domain.Float)
	 * @see EA_Model.IEC61970.LoadModel.LoadModelPackage#getLoadResponseCharacteristic_PVoltageExponent()
	 * @model ordered="false"
	 * @generated
	 */
	EA_Model.IEC61970.Domain.Float getPVoltageExponent();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getPVoltageExponent <em>PVoltage Exponent</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>PVoltage Exponent</em>' reference.
	 * @see #getPVoltageExponent()
	 * @generated
	 */
	void setPVoltageExponent(EA_Model.IEC61970.Domain.Float value);

	/**
	 * Returns the value of the '<em><b>QConstant Current</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>QConstant Current</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>QConstant Current</em>' reference.
	 * @see #setQConstantCurrent(EA_Model.IEC61970.Domain.Float)
	 * @see EA_Model.IEC61970.LoadModel.LoadModelPackage#getLoadResponseCharacteristic_QConstantCurrent()
	 * @model ordered="false"
	 * @generated
	 */
	EA_Model.IEC61970.Domain.Float getQConstantCurrent();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getQConstantCurrent <em>QConstant Current</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>QConstant Current</em>' reference.
	 * @see #getQConstantCurrent()
	 * @generated
	 */
	void setQConstantCurrent(EA_Model.IEC61970.Domain.Float value);

	/**
	 * Returns the value of the '<em><b>QConstant Impedance</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>QConstant Impedance</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>QConstant Impedance</em>' reference.
	 * @see #setQConstantImpedance(EA_Model.IEC61970.Domain.Float)
	 * @see EA_Model.IEC61970.LoadModel.LoadModelPackage#getLoadResponseCharacteristic_QConstantImpedance()
	 * @model ordered="false"
	 * @generated
	 */
	EA_Model.IEC61970.Domain.Float getQConstantImpedance();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getQConstantImpedance <em>QConstant Impedance</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>QConstant Impedance</em>' reference.
	 * @see #getQConstantImpedance()
	 * @generated
	 */
	void setQConstantImpedance(EA_Model.IEC61970.Domain.Float value);

	/**
	 * Returns the value of the '<em><b>QConstant Power</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>QConstant Power</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>QConstant Power</em>' reference.
	 * @see #setQConstantPower(EA_Model.IEC61970.Domain.Float)
	 * @see EA_Model.IEC61970.LoadModel.LoadModelPackage#getLoadResponseCharacteristic_QConstantPower()
	 * @model ordered="false"
	 * @generated
	 */
	EA_Model.IEC61970.Domain.Float getQConstantPower();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getQConstantPower <em>QConstant Power</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>QConstant Power</em>' reference.
	 * @see #getQConstantPower()
	 * @generated
	 */
	void setQConstantPower(EA_Model.IEC61970.Domain.Float value);

	/**
	 * Returns the value of the '<em><b>QFrequency Exponent</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>QFrequency Exponent</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>QFrequency Exponent</em>' reference.
	 * @see #setQFrequencyExponent(EA_Model.IEC61970.Domain.Float)
	 * @see EA_Model.IEC61970.LoadModel.LoadModelPackage#getLoadResponseCharacteristic_QFrequencyExponent()
	 * @model ordered="false"
	 * @generated
	 */
	EA_Model.IEC61970.Domain.Float getQFrequencyExponent();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getQFrequencyExponent <em>QFrequency Exponent</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>QFrequency Exponent</em>' reference.
	 * @see #getQFrequencyExponent()
	 * @generated
	 */
	void setQFrequencyExponent(EA_Model.IEC61970.Domain.Float value);

	/**
	 * Returns the value of the '<em><b>QVoltage Exponent</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>QVoltage Exponent</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>QVoltage Exponent</em>' reference.
	 * @see #setQVoltageExponent(EA_Model.IEC61970.Domain.Float)
	 * @see EA_Model.IEC61970.LoadModel.LoadModelPackage#getLoadResponseCharacteristic_QVoltageExponent()
	 * @model ordered="false"
	 * @generated
	 */
	EA_Model.IEC61970.Domain.Float getQVoltageExponent();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.LoadModel.LoadResponseCharacteristic#getQVoltageExponent <em>QVoltage Exponent</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>QVoltage Exponent</em>' reference.
	 * @see #getQVoltageExponent()
	 * @generated
	 */
	void setQVoltageExponent(EA_Model.IEC61970.Domain.Float value);

} // LoadResponseCharacteristic
